/*!
 * vinculum
 * Copyright(c) 2017 azzly
 * MIT Licensed
 */
 
'use strict';

const HTTPError = require('./HTTPError');

const HTTPErrors = {
  BAD_REQUEST:new HTTPError(401,'Bad Request')
  ,UNAUTHORIZED:new HTTPError(401,'Unauthorized')
  ,PAYMENT_REQUIRED:new HTTPError(402,'Payment Required')
  ,FORBIDDEN:new HTTPError(403,'Forbidden')
  ,NOT_FOUND:new HTTPError(404,'Not Found')
  ,NOT_ALLOW_METHOD:new HTTPError(405,'Method Not Allowed')
  ,NOT_ACCEPTABLE:new HTTPError(406,'Not Acceptable')
  ,PROXY_AUTHENTICATION_REQUIRED:new HTTPError(407,'Proxy Authentication Required')
  ,REQUEST_TIMEOUT:new HTTPError(408,'Request Timeout')
  ,CONFLICT:new HTTPError(409,'Conflict')
  ,GONE:new HTTPError(410,'Gone')
  ,LENGTH_REQUIRED:new HTTPError(411,'Length Required')
  ,PRECONDITION_FAILED:new HTTPError(412,'Precondition Failed')
  ,REQUEST_ENTITY_TOO_LARGE:new HTTPError(413,'Request Entity Too Large')
  ,REQUEST_URI_TOO_LARGE:new HTTPError(414,'Request-URI Too Large')
  ,UNSUPPORTED_MEDIA_TYPE:new HTTPError(415,'Unsupported Media Type')
  ,REQUESTED_RANGE_NOT_SATISFIABLE:new HTTPError(416,'Requested Range Not Satisfiable')
  ,EXPECTATION_FAILED:new HTTPError(417,'Expectation Failed')
  ,TEAPOT:new HTTPError(418,'I\'m a teapot')
  ,UNPROCESSABLE_ENTITY:new HTTPError(422,'Unprocessable Entity')
  ,LOCKED:new HTTPError(423,'Locked')
  ,FAILED_DEPENDENCY:new HTTPError(424,'Failed Dependency')
  ,UNORDERED_COLLECTION:new HTTPError(425,'Unordered Collection')
  ,UPGRADE_REQUIRED:new HTTPError(426,'Upgrade Required')
  ,EXCUTE_ACTION_TOO_FREQUENTLY:new HTTPError(450,'Excute Action Too Frequently')
  ,INTERNAL_SERVER_ERROR:new HTTPError(500,'Internal Server Error')
  ,NOT_IMPLEMENTED:new HTTPError(501,'Not Implemented')
  ,BAD_GATEWAY:new HTTPError(502,'Bad Gateway')
  ,SERVICE_UNAVAILABLE:new HTTPError(503,'Service Unavailable')
  ,GATEWAY_TIMEOUT:new HTTPError(504,'Gateway Timeout')
  ,HTTP_VERSION_NOT_SUPPORTED:new HTTPError(505,'HTTP Version not supported')
  ,VARIANT_ALSO_NEGOTIATES:new HTTPError(506,'Variant Also Negotiates')
  ,INSUFFICIENT_STORAGE:new HTTPError(507,'Insufficient Storage')
  ,BANDWIDTH_LIMIT_EXCEEDED:new HTTPError(509,'Bandwidth Limit Exceeded')
  ,NOT_EXTENDED:new HTTPError(510,'Not Extended')
  ,DATABASE_NOT_INITED:new HTTPError(550,'Database Not Inited')
  ,DATABASE_CANNOT_GET_CONNECTION:new HTTPError(551,'Database Cannot Get Connection')
  ,DATABASE_QUERY_SQL_ERROR:new HTTPError(552,'Database Query Sql Error')
  ,NOT_FOUND_DATASOURCE:new HTTPError(553,'Not Found Datasource')
  ,SYSTEM_DB_EXISTS:new HTTPError(554,'System DB Already Exists!')
  ,DBNAME_REPEAT:new HTTPError(555,'dbname already exists!')
  ,NOT_FOUND_SERVICE_NAME:new HTTPError(560,'Not Found Service Name')
  ,NOT_FOUND_ACTION_NAME:new HTTPError(561,'Not Found Action Name')
  ,NOT_FOUND_APPLICATION_NAME:new HTTPError(562,'Not Found Application Name')
  ,SESSION_SAVE_FAILED:new HTTPError(563,'Session Save Failed!')
};

module.exports = HTTPErrors;